package com.sz.admin.vehicleschedule.pojo.po;

import com.mybatisflex.annotation.*;
import com.sz.admin.system.pojo.po.SysDept;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.io.Serial;
import com.sz.mysql.EntityChangeListener;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
* <p>
* 排班时间表
* </p>
*
* @author sz-admin
* @since 2025-08-30
*/
@Data
@Table(value = "vehicle_schedule", onInsert = EntityChangeListener.class, onUpdate = EntityChangeListener.class)
@Schema(description = "排班时间表")
public class VehicleSchedule implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Id(keyType = KeyType.Auto)
    @Schema(description ="id")
    private Long id;

    @Schema(description ="排班计划名称")
    private String title;

    @Schema(description ="排序")
    private Integer sort;

    @Schema(description ="上班时间")
    private LocalTime startTime;

    @Schema(description ="下班时间")
    private LocalTime endTime;

    @Schema(description ="创建时间")
    private LocalDateTime createTime;

    @Schema(description ="更新时间")
    private LocalDateTime updateTime;

    @Schema(description ="创建人ID")
    private Long createId;

    @Schema(description ="更新人ID")
    private Long updateId;

    @Column(isLogicDelete = true)
    @Schema(description ="是否删除")
    private String delFlag;

    @Schema(description ="删除人ID")
    private Long deleteId;

    @Schema(description ="删除时间")
    private LocalDateTime deleteTime;

    @Schema(description ="排班时间")
    private LocalTime time1;

    @Schema(description ="排班时间")
    private LocalTime time2;

    @Schema(description ="排班时间")
    private LocalTime time3;

    @Schema(description ="排班类型")
    private String scheduleType;

    // 关联的部门对象
    private SysDept department;

}